// 协议查询页面逻辑
Page({
  /**
   * 页面的初始数据
   */
  data: {
    // 用户协议状态
    hasSignedAgreement: false,
    agreementInfo: null,
    
    // 当前显示模式：'query' | 'sign' | 'detail'
    currentMode: 'query',
    
    // 协议详情
    agreementDetail: {
      id: '',
      title: '社区服务平台三方协议',
      content: '',
      signDate: '',
      expireDate: '',
      status: 'pending' // pending, signed, expired
    },
    
    // 协议内容
    agreementContent: `社区服务平台三方协议

第一条 协议目的
为规范社区服务平台（以下简称"平台"）与用户、第三方服务提供方之间的权利义务关系，保障各方合法权益，特制定本协议。

第二条 协议主体
甲方：社区服务平台运营方
乙方：用户（社区居民）
丙方：第三方服务提供方

第三条 服务内容
3.1 平台为用户提供社区服务信息发布、查询、预约等服务
3.2 第三方服务提供方通过平台为用户提供具体服务
3.3 用户可通过平台享受相关服务

第四条 用户权利与义务
4.1 用户有权享受平台提供的各项服务
4.2 用户应遵守平台规则，不得发布虚假信息
4.3 用户应保护个人隐私，不得泄露他人信息

第五条 平台权利与义务
5.1 平台有权对违规行为进行处理
5.2 平台应保护用户隐私，不得泄露用户信息
5.3 平台应确保服务质量和安全性

第六条 第三方服务提供方权利与义务
6.1 服务提供方应提供优质服务
6.2 服务提供方应遵守相关法律法规
6.3 服务提供方应保护用户权益

第七条 协议期限
本协议自签署之日起生效，有效期为一年。

第八条 争议解决
因本协议产生的争议，各方应友好协商解决。

第九条 其他条款
9.1 本协议的修改应经各方同意
9.2 本协议未尽事宜，按相关法律法规执行

签署人：_________________
签署日期：_________________
签署方式：电子签名`,

    // 查询条件
    queryConditions: {
      agreementId: '',
      signDateRange: '',
      partnerName: ''
    }
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.checkAgreementStatus();
  },

  /**
   * 检查用户协议签署状态
   */
  checkAgreementStatus: function() {
    // 模拟检查用户是否已签署协议
    // 实际应用中应该调用API查询数据库
    const hasSigned = wx.getStorageSync('agreement_signed') || false;
    const agreementInfo = wx.getStorageSync('agreement_info') || null;
    
    this.setData({
      hasSignedAgreement: hasSigned,
      agreementInfo: agreementInfo,
      currentMode: hasSigned ? 'query' : 'sign'
    });
  },

  /**
   * 切换到协议签署模式
   */
  switchToSignMode: function() {
    this.setData({
      currentMode: 'sign'
    });
  },

  /**
   * 切换到协议查询模式
   */
  switchToQueryMode: function() {
    this.setData({
      currentMode: 'query'
    });
  },

  /**
   * 查看协议详情
   */
  viewAgreementDetail: function() {
    this.setData({
      currentMode: 'detail'
    });
  },

  /**
   * 签署协议
   */
  signAgreement: function() {
    wx.showModal({
      title: '确认签署',
      content: '您确认已阅读并同意协议内容吗？',
      success: (res) => {
        if (res.confirm) {
          this.performSignAgreement();
        }
      }
    });
  },

  /**
   * 执行协议签署
   */
  performSignAgreement: function() {
    wx.showLoading({
      title: '签署中...'
    });

    // 模拟签署过程
    setTimeout(() => {
      const signDate = new Date().toISOString().split('T')[0];
      const expireDate = new Date(Date.now() + 365 * 24 * 60 * 60 * 1000).toISOString().split('T')[0];
      
      const agreementInfo = {
        id: 'AG' + Date.now(),
        title: '社区服务平台三方协议',
        signDate: signDate,
        expireDate: expireDate,
        status: 'signed'
      };

      // 保存到本地存储
      wx.setStorageSync('agreement_signed', true);
      wx.setStorageSync('agreement_info', agreementInfo);

      this.setData({
        hasSignedAgreement: true,
        agreementInfo: agreementInfo,
        currentMode: 'query'
      });

      wx.hideLoading();
      wx.showToast({
        title: '签署成功',
        icon: 'success'
      });
    }, 2000);
  },

  /**
   * 查询协议
   */
  queryAgreement: function() {
    if (!this.data.hasSignedAgreement) {
      wx.showToast({
        title: '您尚未签署协议',
        icon: 'none'
      });
      return;
    }

    this.viewAgreementDetail();
  },

  /**
   * 输入查询条件
   */
  onInputChange: function(e) {
    const { field } = e.currentTarget.dataset;
    const { value } = e.detail;
    
    this.setData({
      [`queryConditions.${field}`]: value
    });
  },

  /**
   * 返回首页
   */
  goBack: function() {
    wx.navigateBack();
  },

  /**
   * 返回查询模式
   */
  backToQuery: function() {
    this.setData({
      currentMode: 'query'
    });
  }
});
